package com.qf.day07.modifier.sta;

import com.qf.day04.arr.ArrUtils;

/**
 * 静态属性，在内存中只有一份 ，如果一旦修改了，那么在其他任何地方访问，都是修改过后的值了
 */
public class Student {

    private int a;

    public static int b;

    /**
     * 在静态方法中，可以访问哪些变量和方法呢？
     *
     * 调用静态方法时，是不是一定已经创建了一个Student对象呢？ 类名.方法名
     */
    public static void method1(){
//        a = 100; // 编译报错
//        study();  // 编译报错
//        Student student = new Student();
//        student.a = 100;
//        student.study();

        // 可以调用静态属性和静态方法
        b = 100;
        method2();
        // 调用其他类的静态属性和方法
        System.out.println(Constants.PAI);
        int[] arr = {1,2,3};
        ArrUtils.printIntArr(arr);

        // this 和super
//        System.out.println(this.a);  // 编译报错
    }

    public static void method2(){
        System.out.println("method2...");
    }

    public void study(){
        System.out.println("好好学习，天天向上");
    }


    public static void main(String[] args) {

        Student stu1 = new Student();
        Student stu2 = new Student();

//        stu1.a = 100;
//        stu2.a = 200;
//        System.out.println(stu1.a);
//        System.out.println(stu2.a);

        stu1.b = 100;
        stu2.b = 200;
        System.out.println(stu1.b);
        System.out.println(stu2.b);

    }

}
